package interfaceUsuario.CursoMVC.controle;

import interfaceUsuario.CursoMVC.excecao.CursoNaoEncontradoException;
import interfaceUsuario.CursoMVC.excecao.CursoSemCodigoException;
import interfaceUsuario.CursoMVC.view.CursoView;


import java.util.ArrayList;

import negocio.Curso;
import negocio.Disciplina;

public class CursoControlador {
	public static void carregar(CursoView view)
			throws CursoSemCodigoException,
			CursoNaoEncontradoException {
		Curso c = view.getCurso();
		if (c.getCodigo().equals(" "))
			throw new CursoSemCodigoException();
		else {
			c = new Curso(c.getCodigo());
			if (c.getNome() == null)
				throw new CursoNaoEncontradoException();
			else
				view.setCurso(c);
		}
	}

	public static void salvar(CursoView view)
			throws CursoSemCodigoException {
		Curso c = view.getCurso();
		if (!c.getCodigo().equals(" "))
			c.salvar();
		else
			throw new CursoSemCodigoException();
	}

	public static void remover(CursoView view)
			throws CursoSemCodigoException {
		Curso c = view.getCurso();
		if (!c.getCodigo().equals(" "))
			c.remover();
		else
			throw new CursoSemCodigoException();
	}

	public static String[][] getMatrizDisciplina() {
		ArrayList<Curso> cursos = Curso.getLista();

		String[][] matriz = new String[cursos.size()][5];

		int i = 0;
		for (Curso c: cursos) {
			matriz[i][0] = c.getNome();
			matriz[i][1] = c.getCodigo();
			matriz[i][2] = String.valueOf(c.getTurno());
			matriz[i][3] = String.valueOf(c.getTotalCreditos());
			matriz[i][5] = String.valueOf(c.getTotalSemestres());
			
			i++;
		}

		return matriz;
	}
}
